Conventionally, a mouse has been used as a common pointing device for editing a document in an information processing apparatus such as a word processor or a computer. By moving the mouse on a mouse pad placed on a desk, the user typically controls an on-screen cursor.
FIG. 25 shows a configuration of a conventional document processing apparatus capable of editing by pointing. The conventional document processing apparatus is provided with a keyboard la which serves as an input device for inputting characters, etc., a document buffer 2a for storing therein inputted characters or character strings after being edited, a display unit 3a for displaying the inputted characters, etc., on the screen, a CPU 4a for controlling the document processing apparatus, a mouse 5a which serves as a pointing device for specifying an on-screen position, a cursor pointer 6a for storing therein a current cursor position, a document editing section 41a for editing a character or character string corresponding to a specified position and a program memory 7a for storing therein various kinds of application programs for an input process, an edit process by pointing, display process and memory process. In the above apparatus, the program memory 7a is composed of ROM, and the document buffer 2a and the cursor pointer 6a are respectively composed of RAMs.
FIG. 26 schematically shows the configuration of the conventional document processing apparatus capable of editing by pointing. In editing a document which is prepared beforehand by means of a pointing device, by moving the mouse 5a on a mouse pad 51a, a ball in the mouse 5a rotates, and the respective amounts of rotations in X-axis direction and in Y-axis direction are sent to the CPU 4a. The CPU 4a computes the respective amount of movements of the cursor in X-axis direction and Y-axis direction by the respective amounts of rotations and adds the computed amount of movements to the current cursor position so as to renew the cursor position stored in the cursor pointer 6a. On the screen, the cursor disappears from the current position and appears at a new cursor position stored in the cursor pointer 6a.
Alternatively, the cursor may be moved by operating keys in the keyboard 1a so as to specify a specific character or an area on the screen, and an editing process is executed as desired by operating edit keys. As described, for moving the cursor onto the specific character in the document, the mouse 5a or the keyboard 1a has been used.
However, in either case of using the mouse or the keyboard, the cursor cannot be moved instantaneously from a desired current cursor position. Thus, a trailing of a cursor on the screen is required from the current cursor position onto the on-screen character to be edited.
Moreover, another problem is presented in the case of using the mouse. That is, because the user moves the mouse on the desk by looking at an arrow which specifies an on-screen cursor position, it is difficult to bring the arrow precisely on a small character.
As a method for counteracting the above problems, an editing method by gesture-pointing using a pen input tablet has been proposed. Here, a gesture editing function is defined as a function for recognizing an edit instruction corresponding to a shape of a line directly drawn by hand with a pen on a screen provided with a tablet and for executing the edit instruction.
In the above method, the cursor can be moved instantaneously from the current cursor position onto a character to be edited as desired. However, in the case of executing a gesture-editing such as "character insert", "line insert", "underlining", etc., an error is likely to occur due to the unwanted shaking of user's hand. As a result, an area subjected to editing may not be specified correctly, thereby presenting the problem that the corresponding character may not be edited and instead an adjoining character may be edited by mistake.
For example, when specifying a point on the screen with the pen as shown in FIG. 27, which one of the numbers among 1, 2, 3 and 4 is specified is not clear. Specifically, even if the user intends to specify the number 1, the number 2 or the number 3 may be edited if an on-screen point specified by touching with a pen is slightly displaced from the number 1. In practice, since it is difficult to touch precisely on a center of the corresponding character, it is desirably arranged such that even if the point on the screen touched with the pen is slightly displaced from the center of the character, the displacement does not actually affect the editing of the character.
This is the first problem to be solved by the present invention.
FIG. 28 shows the configuration of another information processing apparatus having a gesture editing function. The information processing apparatus is provided with an input processing section 21 for inputting by handwriting, a recognition processing section 22 for recognizing an inputted trace of a pen (input pattern), a judgement processing section 23 for judging a command data corresponding to the recognition pattern based on the resulting recognition (recognition pattern) in the recognition processing section 22, a memory 24 for storing thereon a matching pattern for use in recognizing the input pattern and a command data corresponding to the matching pattern and an output processing section 25 for processing a command based on the command data judged in the judgement processing section 23.
As shown in FIG. 29(a), the memory 24 is provided with a gesture command table for storing therein 2-byte codes in a form of a table. As shown in FIG. 29(b), in the gesture command table, the first byte of the code represents a matching pattern corresponding to the trace of a pen, and the second byte of the code represents a processing code of the command data corresponding to the code of the matching pattern code.
Gesture editing processes in the information processing apparatus will be explained below in reference to the flow chart of FIG. 30.
First, an input process by handwriting is carried out in the input processing section 21 (S31), and coordinate data (input pattern) obtained in the input processing section 21 is temporarily stored in a buffer memory (not shown) (S32). Next, a matching pattern is fetched from the gesture command table (S33), and by comparing the matching pattern with the input pattern in the recognition processing section 22 (S34), whether or not a pattern corresponding to the input pattern (recognition pattern) exists is determined (S35).
If the recognition pattern does not exist in S35, the sequence moves back to S31. On the other hand, if the recognition pattern exists in S35, the sequence moves onto S36 where the command data corresponding to the recognition pattern is determined by searching the gesture command table. Then, the command data judged in the judgement processing section 23 and information indicative of position are output to the output processing section 25 as processing codes (S37). As a result, the output processing section 25 executes a command processing based on the above processing codes (S38), thereby completing the gesture editing process.
However, in the above conventional information processing apparatus having a gesture editing function, an association between each pair of a matching pattern and command data stored in the gesture command table is fixed. Thus, the problem is presented in that because of this fixed association between the trace of a pen and the command to be executed, the user cannot use the gesture editing function as desired according to the use of the user. This is the second problem to be solved by the present invention.